unit datamodule1_frm;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, LResources, inifiles, db, dbf, memds, Forms,
  Controls, Dialogs, LR_Class, LR_Desgn, LR_DBSet, ZConnection, ZDataset,
  ZSqlUpdate, ZSqlMonitor, LR_DSet, LR_E_CSV, LR_E_HTM, lr_e_pdf;

type

  { TDataModule1 }

  TDataModule1 = class(TDataModule)
    dsenti: TDatasource;
    dsmodaff: TDatasource;
    dsmodlav: TDatasource;
    dsmodese: TDatasource;
    dsmoddef: TDatasource;
    dsmodpre: TDatasource;
    dsmodanag: TDatasource;
    dsranagrafica: TDatasource;
    dsresecutivo: TDatasource;
    dsrpreliminare: TDatasource;
    dsrdefinitivo: TDatasource;
    dsgare: TDatasource;
    dscomuni: TDatasource;
    dscomuniinteressati: TDatasource;
    dsautorizzazioni: TDatasource;
    dssal: TDatasource;
    dslavori: TDatasource;
    dsaffidreal: TDatasource;
    dsgrigliaesecutivo: TDatasource;
    dsesecutivo: TDatasource;
    dsgrigliadefinitivo: TDatasource;
    dsgrigliapreliminari: TDatasource;
    dsdefinitivo: TDatasource;
    dspreliminare: TDatasource;
    dsanagrafica: TDatasource;
    franagrafica: TfrDBDataSet;
    fraffidamento: TfrDBDataSet;
    frcomuni: TfrDBDataSet;
    frlavori: TfrDBDataSet;
    fresecutivo: TfrDBDataSet;
    frdefinitivo: TfrDBDataSet;
    frpreliminare: TfrDBDataSet;
    frReport1: TfrReport;
    frsal: TfrDBDataSet;
    frTNPDFExport1: TfrTNPDFExport;
    ZConnection1: TZConnection;
    zqaffidrealAF_RE_DATA_EFF_AVVIO: TDateTimeField;
    zqaffidrealAF_RE_DATA_EFF_AVVIO_FOR: TDateTimeField;
    zqaffidrealAF_RE_DATA_EFF_AVVIO_FOR_2: TDateTimeField;
    zqaffidrealAF_RE_DATA_EFF_CONTR: TDateTimeField;
    zqaffidrealAF_RE_DATA_ESPL: TDateTimeField;
    zqaffidrealAF_RE_DATA_ESPL_FOR: TDateTimeField;
    zqaffidrealAF_RE_DATA_ESPL_FOR_2: TDateTimeField;
    zqaffidrealAF_RE_DATA_PR_AGG: TDateTimeField;
    zqaffidrealAF_RE_DATA_PR_AGG_FOR: TDateTimeField;
    zqaffidrealAF_RE_DATA_PR_AGG_FOR_2: TDateTimeField;
    zqaffidrealAF_RE_DATA_PR_AVVIO_APP: TDateTimeField;
    zqaffidrealAF_RE_DATA_PR_AVVIO_FOR: TDateTimeField;
    zqaffidrealAF_RE_DATA_PR_AVVIO_FOR_2: TDateTimeField;
    zqaffidrealAF_RE_DATA_PR_PER_FOR: TDateTimeField;
    zqaffidrealAF_RE_DATA_PR_PER_FOR_2: TDateTimeField;
    zqaffidrealAF_RE_DATA_RIC_DATI: TDateTimeField;
    zqaffidrealAF_RE_IMPRESA_FOR: TStringField;
    zqaffidrealAF_RE_IMPRESA_FOR_2: TStringField;
    zqaffidrealAF_RE_IMPR_AFFID: TStringField;
    zqaffidrealAF_RE_IMPR_AGG_FOR: TStringField;
    zqaffidrealAF_RE_IMPR_AGG_FOR_2: TStringField;
    zqaffidrealAF_RE_IMPR_AGG_LAV: TStringField;
    zqaffidrealAF_RE_IMP_BASE_ASTA: TFloatField;
    zqaffidrealAF_RE_IMP_BASE_ASTA_FOR: TStringField;
    zqaffidrealAF_RE_IMP_BASE_ASTA_FOR_2: TStringField;
    zqaffidrealAF_RE_RIB_CONS: TStringField;
    zqaffidrealAF_RE_RIB_CONS_FOR: TStringField;
    zqaffidrealAF_RE_RIB_CONS_FOR_2: TStringField;
    zqaffidrealAF_RE_TIPO_GARA_APP: TStringField;
    zqaffidrealAF_RE_TIPO_GARA_FOR_1: TStringField;
    zqaffidrealAF_RE_TIPO_GARA_FOR_2: TStringField;
    zqaffidrealAN_OP_ID_OPERA: TFloatField;
    zqaffidrealIDDEFINITIVO: TLongintField;
    zqaffidrealIDESECUTIVO: TLongintField;
    zqaffidrealIDPRELIMINARE: TLongintField;
    zqanagraficaAN_OP_AREA_RESP: TStringField;
    zqanagraficaAN_OP_COD_AATO_ACQUA: TStringField;
    zqanagraficaAN_OP_COD_AATO_DEP: TStringField;
    zqanagraficaAN_OP_COD_AATO_FOG: TStringField;
    zqanagraficaAN_OP_COD_ATT: TStringField;
    zqanagraficaAN_OP_DESC_OP: TStringField;
    zqanagraficaAN_OP_FIN: TStringField;
    zqanagraficaAN_OP_FONTE_FIN: TStringField;
    zqanagraficaAN_OP_ID_OPERA: TFloatField;
    zqanagraficaAN_OP_INV_COMPL: TFloatField;
    zqanagraficaAN_OP_PREVISTA: TStringField;
    zqanagraficaAN_OP_SERV_ACQUA: TBooleanField;
    zqanagraficaAN_OP_SERV_DEP: TBooleanField;
    zqanagraficaAN_OP_SERV_FOG: TBooleanField;
    zqanagraficaAN_OP_SERV_GAS: TBooleanField;
    zqanagraficaRUP: TStringField;
    zqarearesp: TZQuery;
    zqautorizzazioniDATA_EFF_AUT: TDateTimeField;
    zqautorizzazioniDATA_PR_AUT: TDateTimeField;
    zqautorizzazioniDATA_RIC_AUT: TDateTimeField;
    zqautorizzazioniENTE_AUT: TStringField;
    zqautorizzazioniFASE_AUT: TStringField;
    zqautorizzazioniIDAUTORIZZAZIONE: TLongintField;
    zqautorizzazioniIDDEFINITIVO: TLongintField;
    zqautorizzazioniIDESECUTIVO: TLongintField;
    zqautorizzazioniIDPRELIMINARE: TLongintField;
    zqautorizzazioniID_OPERA_AUT: TLongintField;
    zqautorizzazioniNOTE: TStringField;
    zqcomuniinteressatiCOMUNE: TStringField;
    zqcomuniinteressatiID_OPERA_COM: TFloatField;
    zqcomuniNome_Comune: TStringField;
    zqdefinitivoAN_OP_ID_OPERA: TLongintField;
    zqdefinitivoDATA_EFF_RIES_VER_PROG: TDateTimeField;
    zqdefinitivoIDDEFINITIVO: TLongintField;
    zqdefinitivoIDPRELIMINARE: TLongintField;
    zqdefinitivoNOME: TStringField;
    zqdefinitivoNOTE: TStringField;
    zqdefinitivoPR_DE_ASS_PRO: TStringField;
    zqdefinitivoPR_DE_DATA_ASS: TDateTimeField;
    zqdefinitivoPR_DE_DATA_DEL_APPR: TDateTimeField;
    zqdefinitivoPR_DE_DATA_EFF_APPR: TDateTimeField;
    zqdefinitivoPR_DE_DATA_PR_APPR: TDateTimeField;
    zqdefinitivoPR_DE_INCARICO: TStringField;
    zqdefinitivoPR_DE_NUM_DEL_APPR: TStringField;
    zqdefinitivoPR_DE_PROGETT: TStringField;
    zqdefinitivoPR_DE_RIF_INT: TStringField;
    zqdefinitivoPR_DE_VAL_PREV: TFloatField;
    zqenti: TZReadOnlyQuery;
    zqesecutivoAN_OP_ID_OPERA: TFloatField;
    zqesecutivoBLOCCATO: TBooleanField;
    zqesecutivoBLOC_VARIANTE: TBooleanField;
    zqesecutivoDATA_EFF_RIES_VER_PROG: TDateTimeField;
    zqesecutivoIDDEFINITIVO: TLongintField;
    zqesecutivoIDESECUTIVO: TLongintField;
    zqesecutivoIDPRELIMINARE: TLongintField;
    zqesecutivoIMPORTO_ES_VARIANTE: TFloatField;
    zqesecutivoNOME: TStringField;
    zqesecutivoNOTE: TStringField;
    zqesecutivoPR_ES_ASS_PRO: TStringField;
    zqesecutivoPR_ES_COOR_SIC: TStringField;
    zqesecutivoPR_ES_DATA_ASS: TDateTimeField;
    zqesecutivoPR_ES_DATA_DEL_APPR: TDateTimeField;
    zqesecutivoPR_ES_DATA_EFF_APPR: TDateTimeField;
    zqesecutivoPR_ES_DATA_PR_APPR: TDateTimeField;
    zqesecutivoPR_ES_INCARICO: TStringField;
    zqesecutivoPR_ES_NUM_DEL_APPR: TStringField;
    zqesecutivoPR_ES_PROGETT: TStringField;
    zqesecutivoPR_ES_RIF_INT: TStringField;
    zqesecutivoTIPO_VARIANTE: TStringField;
    zqesecutivoVARIANTE: TBooleanField;
    zqgareAF_RE_DATA_EFF_AVVIO_FOR: TDateTimeField;
    zqgareAF_RE_DATA_ESPL_FOR: TDateTimeField;
    zqgareAF_RE_DATA_PR_AGG_FOR: TDateTimeField;
    zqgareAF_RE_DATA_PR_AVVIO_FOR: TDateTimeField;
    zqgareAF_RE_DATA_PR_PER_FOR: TDateTimeField;
    zqgareAF_RE_IMPRESA_FOR: TStringField;
    zqgareAF_RE_IMPR_AGG_FOR: TStringField;
    zqgareAF_RE_IMP_BASE_ASTA_FOR: TStringField;
    zqgareAF_RE_RIB_CONS_FOR: TStringField;
    zqgareIDDEFINITIVO: TLongintField;
    zqgareIDESECUTIVO: TLongintField;
    zqgareIDGARA: TLongintField;
    zqgareIDOPERA: TLongintField;
    zqgareIDPRELIMINARE: TLongintField;
    zqgareTIPO: TStringField;
    zqgrigliadefinitivoAN_OP_ID_OPERA: TLongintField;
    zqgrigliadefinitivoIDDEFINITIVO: TLongintField;
    zqgrigliadefinitivoIDPRELIMINARE: TLongintField;
    zqgrigliadefinitivoNOME: TStringField;
    zqgrigliaesecutivoAN_OP_ID_OPERA: TFloatField;
    zqgrigliaesecutivoBLOC_VARIANTE: TBooleanField;
    zqgrigliaesecutivoIDDEFINITIVO: TLongintField;
    zqgrigliaesecutivoIDESECUTIVO: TLongintField;
    zqgrigliaesecutivoIDPRELIMINARE: TLongintField;
    zqgrigliaesecutivoNOME: TStringField;
    zqgrigliaesecutivoVARIANTE: TBooleanField;
    zqgrigliapreliminariAN_OP_ID_OPERA: TLongintField;
    zqgrigliapreliminariIDPRELIMINARE: TLongintField;
    zqgrigliapreliminariNOME: TStringField;
    zqlavoriAN_OP_ID_OPERA: TFloatField;
    zqlavoriES_OP_ASS_DL: TStringField;
    zqlavoriES_OP_CONS_OPERA_1: TStringField;
    zqlavoriES_OP_CONS_OPERA_2: TStringField;
    zqlavoriES_OP_CONS_OPERA_3: TStringField;
    zqlavoriES_OP_COORD: TStringField;
    zqlavoriES_OP_DATA_APP_COLL_PROV_EF: TDateTimeField;
    zqlavoriES_OP_DATA_APP_COLL_PROV_PR: TDateTimeField;
    zqlavoriES_OP_DATA_AVVIO_ESER_EFF: TDateTimeField;
    zqlavoriES_OP_DATA_AVVIO_ESER_PR: TDateTimeField;
    zqlavoriES_OP_DATA_COLL_DEF: TDateTimeField;
    zqlavoriES_OP_DATA_COLL_PRO_EFF: TDateTimeField;
    zqlavoriES_OP_DATA_COLL_PRO_PR: TDateTimeField;
    zqlavoriES_OP_DATA_DEL_CHIU_OPERA: TDateTimeField;
    zqlavoriES_OP_DATA_EFF_CONS: TDateTimeField;
    zqlavoriES_OP_DATA_EFF_INIZIO: TDateTimeField;
    zqlavoriES_OP_DATA_FINE_CONT: TDateTimeField;
    zqlavoriES_OP_DATA_INIZIO_CONT: TDateTimeField;
    zqlavoriES_OP_DATA_PR_CONS: TDateTimeField;
    zqlavoriES_OP_DATA_ULT_EFF: TDateTimeField;
    zqlavoriES_OP_DATA_ULT_PR: TDateTimeField;
    zqlavoriES_OP_DATA_VAL_COMP: TDateTimeField;
    zqlavoriES_OP_DIR_LAV: TStringField;
    zqlavoriES_OP_IMP_CONS_ALTRESPESE: TFloatField;
    zqlavoriES_OP_IMP_CONS_APPAL: TFloatField;
    zqlavoriES_OP_IMP_CONS_FOR: TFloatField;
    zqlavoriES_OP_IMP_CONS_TEC: TFloatField;
    zqlavoriES_OP_IMP_DEF_RIS_ACC_BON: TFloatField;
    zqlavoriES_OP_IMP_DEF_RIS_CONT: TFloatField;
    zqlavoriES_OP_IMP_SOMMEDISPO: TFloatField;
    zqlavoriES_OP_IMP_TOT_OPERA: TFloatField;
    zqlavoriES_OP_PERC_REAL: TStringField;
    zqlavoriES_OP_RISERVE_APPAL: TStringField;
    zqlavoriES_OP_VAL_COMP: TFloatField;
    zqlavoriIDDEFINITIVO: TLongintField;
    zqlavoriIDESECUTIVO: TLongintField;
    zqlavoriIDPRELIMINARE: TLongintField;
    zqlavoriNOTE: TStringField;
    zqmodaffdata: TDateTimeField;
    zqmodaffutente: TStringField;
    zqmodana: TZReadOnlyQuery;
    zqmodanadata: TDateTimeField;
    zqmodanautente: TStringField;
    zqmoddefdata: TDateTimeField;
    zqmoddefutente: TStringField;
    zqmodesedata: TDateTimeField;
    zqmodeseutente: TStringField;
    zqmodlavdata: TDateTimeField;
    zqmodlavutente: TStringField;
    zqmodpredata: TDateTimeField;
    zqmodpreutente: TStringField;
    zqpreliminare: TZQuery;
    zqanagrafica: TZQuery;
    zqpreliminareAN_OP_ID_OPERA: TFloatField;
    zqpreliminareDATA_EFF_RIES_VER_PROG: TDateTimeField;
    zqpreliminareIDPRELIMINARE: TLongintField;
    zqpreliminareNOME: TStringField;
    zqpreliminareNOTE: TStringField;
    zqpreliminarePR_PR_ASS_PRO: TStringField;
    zqpreliminarePR_PR_DATA_ASS: TDateTimeField;
    zqpreliminarePR_PR_DATA_DEL_APPR: TDateTimeField;
    zqpreliminarePR_PR_DATA_EFF_APPR: TDateTimeField;
    zqpreliminarePR_PR_DATA_PR_APPR: TDateTimeField;
    zqpreliminarePR_PR_INCARICO: TStringField;
    zqpreliminarePR_PR_NUM_DEL_APPR: TStringField;
    zqpreliminarePR_PR_PROGETT: TStringField;
    zqpreliminarePR_PR_RIF_INT: TStringField;
    zqdefinitivo: TZQuery;
    zqgrigliapreliminari: TZQuery;
    zqgrigliadefinitivo: TZQuery;
    zqesecutivo: TZQuery;
    zqgrigliaesecutivo: TZQuery;
    zqaffidreal: TZQuery;
    zqlavori: TZQuery;
    zqautorizzazioni: TZQuery;
    zqpreliminarePR_PR_VAL_PREV: TFloatField;
    zqraffidamentoAF_RE_DATA_EFF_AVVIO: TDateTimeField;
    zqraffidamentoAF_RE_DATA_EFF_AVVIO_FOR: TDateTimeField;
    zqraffidamentoAF_RE_DATA_EFF_AVVIO_FOR_2: TDateTimeField;
    zqraffidamentoAF_RE_DATA_EFF_CONTR: TDateTimeField;
    zqraffidamentoAF_RE_DATA_ESPL: TDateTimeField;
    zqraffidamentoAF_RE_DATA_ESPL_FOR: TDateTimeField;
    zqraffidamentoAF_RE_DATA_ESPL_FOR_2: TDateTimeField;
    zqraffidamentoAF_RE_DATA_PR_AGG: TDateTimeField;
    zqraffidamentoAF_RE_DATA_PR_AGG_FOR: TDateTimeField;
    zqraffidamentoAF_RE_DATA_PR_AGG_FOR_2: TDateTimeField;
    zqraffidamentoAF_RE_DATA_PR_AVVIO_APP: TDateTimeField;
    zqraffidamentoAF_RE_DATA_PR_AVVIO_FOR: TDateTimeField;
    zqraffidamentoAF_RE_DATA_PR_AVVIO_FOR_2: TDateTimeField;
    zqraffidamentoAF_RE_DATA_PR_PER_FOR: TDateTimeField;
    zqraffidamentoAF_RE_DATA_PR_PER_FOR_2: TDateTimeField;
    zqraffidamentoAF_RE_DATA_RIC_DATI: TDateTimeField;
    zqraffidamentoAF_RE_IMPRESA_FOR: TStringField;
    zqraffidamentoAF_RE_IMPRESA_FOR_2: TStringField;
    zqraffidamentoAF_RE_IMPR_AFFID: TStringField;
    zqraffidamentoAF_RE_IMPR_AGG_FOR: TStringField;
    zqraffidamentoAF_RE_IMPR_AGG_FOR_2: TStringField;
    zqraffidamentoAF_RE_IMPR_AGG_LAV: TStringField;
    zqraffidamentoAF_RE_IMP_BASE_ASTA: TStringField;
    zqraffidamentoAF_RE_IMP_BASE_ASTA_FOR: TStringField;
    zqraffidamentoAF_RE_IMP_BASE_ASTA_FOR_2: TStringField;
    zqraffidamentoAF_RE_RIB_CONS: TStringField;
    zqraffidamentoAF_RE_RIB_CONS_FOR: TStringField;
    zqraffidamentoAF_RE_RIB_CONS_FOR_2: TStringField;
    zqraffidamentoAF_RE_TIPO_GARA_APP: TStringField;
    zqraffidamentoAF_RE_TIPO_GARA_FOR_1: TStringField;
    zqraffidamentoAF_RE_TIPO_GARA_FOR_2: TStringField;
    zqraffidamentoAN_OP_ID_OPERA: TFloatField;
    zqraffidamentoIDDEFINITIVO: TLongintField;
    zqraffidamentoIDESECUTIVO: TLongintField;
    zqraffidamentoIDPRELIMINARE: TLongintField;
    zqranagraficaAN_OP_AREA_RESP: TStringField;
    zqranagraficaAN_OP_COD_AATO_ACQUA: TStringField;
    zqranagraficaAN_OP_COD_AATO_DEP: TStringField;
    zqranagraficaAN_OP_COD_AATO_FOG: TStringField;
    zqranagraficaAN_OP_COD_ATT: TStringField;
    zqranagraficaAN_OP_DESC_OP: TStringField;
    zqranagraficaAN_OP_FIN: TStringField;
    zqranagraficaAN_OP_FONTE_FIN: TStringField;
    zqranagraficaAN_OP_ID_OPERA: TLongintField;
    zqranagraficaAN_OP_INV_COMPL: TFloatField;
    zqranagraficaAN_OP_PREVISTA: TBooleanField;
    zqranagraficaAN_OP_SERV_ACQUA: TBooleanField;
    zqranagraficaAN_OP_SERV_DEP: TBooleanField;
    zqranagraficaAN_OP_SERV_FOG: TBooleanField;
    zqranagraficaAN_OP_SERV_GAS: TBooleanField;
    zqranagraficaRUP: TStringField;
    zqrcomuni: TZQuery;
    zqrdefinitivoAN_OP_ID_OPERA: TLongintField;
    zqrdefinitivoBLOCCATO: TBooleanField;
    zqrdefinitivoDATA_EFF_RIES_VER_PROG: TDateTimeField;
    zqrdefinitivoIDDEFINITIVO: TLongintField;
    zqrdefinitivoIDPRELIMINARE: TLongintField;
    zqrdefinitivoNOME: TStringField;
    zqrdefinitivoNOTE: TStringField;
    zqrdefinitivoPR_DE_ASS_PRO: TStringField;
    zqrdefinitivoPR_DE_DATA_ASS: TDateTimeField;
    zqrdefinitivoPR_DE_DATA_DEL_APPR: TDateTimeField;
    zqrdefinitivoPR_DE_DATA_EFF_APPR: TDateTimeField;
    zqrdefinitivoPR_DE_DATA_PR_APPR: TDateTimeField;
    zqrdefinitivoPR_DE_INCARICO: TStringField;
    zqrdefinitivoPR_DE_NUM_DEL_APPR: TStringField;
    zqrdefinitivoPR_DE_PROGETT: TStringField;
    zqrdefinitivoPR_DE_RIF_INT: TStringField;
    zqrdefinitivoPR_DE_VAL_PREV: TStringField;
    zqresecutivoAN_OP_ID_OPERA: TFloatField;
    zqresecutivoBLOCCATO: TBooleanField;
    zqresecutivoBLOC_VARIANTE: TBooleanField;
    zqresecutivoDATA_EFF_RIES_VER_PROG: TDateTimeField;
    zqresecutivoIDDEFINITIVO: TLongintField;
    zqresecutivoIDESECUTIVO: TLongintField;
    zqresecutivoIDPRELIMINARE: TLongintField;
    zqresecutivoIMPORTO_ES_VARIANTE: TFloatField;
    zqresecutivoNOME: TStringField;
    zqresecutivoNOTE: TStringField;
    zqresecutivoPR_ES_ASS_PRO: TStringField;
    zqresecutivoPR_ES_COOR_SIC: TStringField;
    zqresecutivoPR_ES_DATA_ASS: TDateTimeField;
    zqresecutivoPR_ES_DATA_DEL_APPR: TDateTimeField;
    zqresecutivoPR_ES_DATA_EFF_APPR: TDateTimeField;
    zqresecutivoPR_ES_DATA_PR_APPR: TDateTimeField;
    zqresecutivoPR_ES_INCARICO: TStringField;
    zqresecutivoPR_ES_NUM_DEL_APPR: TStringField;
    zqresecutivoPR_ES_PROGETT: TStringField;
    zqresecutivoPR_ES_RIF_INT: TStringField;
    zqresecutivoTIPO_VARIANTE: TStringField;
    zqresecutivoVARIANTE: TBooleanField;
    zqrlavoriAN_OP_ID_OPERA: TFloatField;
    zqrlavoriES_OP_ASS_DL: TStringField;
    zqrlavoriES_OP_CONS_OPERA_1: TStringField;
    zqrlavoriES_OP_CONS_OPERA_2: TStringField;
    zqrlavoriES_OP_CONS_OPERA_3: TStringField;
    zqrlavoriES_OP_COORD: TStringField;
    zqrlavoriES_OP_DATA_APP_COLL_PROV_EF: TDateTimeField;
    zqrlavoriES_OP_DATA_APP_COLL_PROV_PR: TDateTimeField;
    zqrlavoriES_OP_DATA_AVVIO_ESER_EFF: TDateTimeField;
    zqrlavoriES_OP_DATA_AVVIO_ESER_PR: TDateTimeField;
    zqrlavoriES_OP_DATA_COLL_DEF: TDateTimeField;
    zqrlavoriES_OP_DATA_COLL_PRO_EFF: TDateTimeField;
    zqrlavoriES_OP_DATA_COLL_PRO_PR: TDateTimeField;
    zqrlavoriES_OP_DATA_DEL_CHIU_OPERA: TDateTimeField;
    zqrlavoriES_OP_DATA_EFF_CONS: TDateTimeField;
    zqrlavoriES_OP_DATA_EFF_INIZIO: TDateTimeField;
    zqrlavoriES_OP_DATA_FINE_CONT: TDateTimeField;
    zqrlavoriES_OP_DATA_INIZIO_CONT: TDateTimeField;
    zqrlavoriES_OP_DATA_PR_CONS: TDateTimeField;
    zqrlavoriES_OP_DATA_ULT_EFF: TDateTimeField;
    zqrlavoriES_OP_DATA_ULT_PR: TDateTimeField;
    zqrlavoriES_OP_DATA_VAL_COMP: TDateTimeField;
    zqrlavoriES_OP_DIR_LAV: TStringField;
    zqrlavoriES_OP_IMP_CONS_ALTRESPESE: TFloatField;
    zqrlavoriES_OP_IMP_CONS_APPAL: TStringField;
    zqrlavoriES_OP_IMP_CONS_FOR: TFloatField;
    zqrlavoriES_OP_IMP_CONS_TEC: TFloatField;
    zqrlavoriES_OP_IMP_DEF_RIS_ACC_BON: TStringField;
    zqrlavoriES_OP_IMP_DEF_RIS_CONT: TStringField;
    zqrlavoriES_OP_IMP_TOT_OPERA: TStringField;
    zqrlavoriES_OP_PERC_REAL: TStringField;
    zqrlavoriES_OP_RISERVE_APPAL: TStringField;
    zqrlavoriES_OP_VAL_COMP: TStringField;
    zqrlavoriIDDEFINITIVO: TLongintField;
    zqrlavoriIDESECUTIVO: TLongintField;
    zqrlavoriIDPRELIMINARE: TLongintField;
    zqrpreliminareAN_OP_ID_OPERA: TLongintField;
    zqrpreliminareBLOCCATO: TBooleanField;
    zqrpreliminareDATA_EFF_RIES_VER_PROG: TDateTimeField;
    zqrpreliminareIDPRELIMINARE: TLongintField;
    zqrpreliminareNOME: TStringField;
    zqrpreliminareNOTE: TStringField;
    zqrpreliminarePR_PR_ASS_PRO: TStringField;
    zqrpreliminarePR_PR_DATA_ASS: TDateTimeField;
    zqrpreliminarePR_PR_DATA_DEL_APPR: TDateTimeField;
    zqrpreliminarePR_PR_DATA_EFF_APPR: TDateTimeField;
    zqrpreliminarePR_PR_DATA_PR_APPR: TDateTimeField;
    zqrpreliminarePR_PR_INCARICO: TStringField;
    zqrpreliminarePR_PR_NUM_DEL_APPR: TStringField;
    zqrpreliminarePR_PR_PROGETT: TStringField;
    zqrpreliminarePR_PR_RIF_INT: TStringField;
    zqrpreliminarePR_PR_VAL_PREV: TStringField;
    zqrsal: TZQuery;
    zqrsalIDDEFINITIVO: TLongintField;
    zqrsalIDESECUTIVO: TLongintField;
    zqrsalIDPRELIMINARE: TLongintField;
    zqrsalID_OPERA_SAL: TLongintField;
    zqrsalIMPORTOEFFE: TFloatField;
    zqrsalIMPORTOPRE: TFloatField;
    zqsal: TZQuery;
    zqsalIDDEFINITIVO: TLongintField;
    zqsalIDESECUTIVO: TLongintField;
    zqsalIDPRELIMINARE: TLongintField;
    zqsalIDSAL: TLongintField;
    zqsalID_OPERA_SAL: TLongintField;
    zqsalSAL_DATA_EM_CERT: TDateTimeField;
    zqsalSAL_DATA_EM_EFF: TDateTimeField;
    zqsalSAL_DATA_EM_PR: TDateTimeField;
    zqsalSAL_IMPORTO_EFF: TFloatField;
    zqsalSAL_IMPORTO_PR: TFloatField;
    zqcomuniinteressati: TZQuery;
    zqcomuni: TZQuery;
    zquery1: TZQuery;
    zqgare: TZQuery;
    zqranagrafica: TZQuery;
    zqrpreliminare: TZQuery;
    zqrdefinitivo: TZQuery;
    zqresecutivo: TZQuery;
    zqraffidamento: TZQuery;
    zqrlavori: TZQuery;
    zqupgare: TZUpdateSQL;
    zqutentiaree: TZQuery;
    zqutenti: TZQuery;
    zqmodpre: TZReadOnlyQuery;
    zqmoddef: TZReadOnlyQuery;
    zqmodese: TZReadOnlyQuery;
    zqmodaff: TZReadOnlyQuery;
    zqmodlav: TZReadOnlyQuery;
    zupanagrafica: TZUpdateSQL;
    zupaffidreal: TZUpdateSQL;
    zqupautorizzazioni: TZUpdateSQL;
    zqupsal: TZUpdateSQL;
    zuplavori: TZUpdateSQL;
    zupesecutivo: TZUpdateSQL;
    zupdefinitivo: TZUpdateSQL;
    zuppreliminare: TZUpdateSQL;


    procedure frReport1GetValue(const ParName: String; var ParValue: Variant);
    function GetValueIniFile( sezione,parametro:String;fileINI:AnsiString):String;
    procedure DataModuleCreate(Sender: TObject);
    procedure zqaffidrealAfterEdit(DataSet: TDataSet);
    procedure zqanagraficaAfterEdit(DataSet: TDataSet);

    procedure zqanagraficaAfterScroll(DataSet: TDataSet);


    procedure zqgrigliadefinitivoAfterScroll(DataSet: TDataSet);
    procedure zqgrigliaesecutivoAfterScroll(DataSet: TDataSet);
    procedure zqgrigliapreliminariAfterScroll(DataSet: TDataSet);
    procedure zqlavoriAfterEdit(DataSet: TDataSet);
    procedure zqpreliminareAfterEdit(DataSet: TDataSet);
    procedure zqdefinitivoAfterEdit(DataSet: TDataSet);
    procedure zqesecutivoAfterEdit(DataSet: TDataSet);


  private
    { private declarations }

  public
    { public declarations }

       filtro, username:string;
    idutente,idditta:integer;
        loginok:boolean;

  end; 

var
  DataModule1: TDataModule1; 

implementation

 uses mainform_frm;



  function Tdatamodule1.GetValueIniFile(sezione,parametro:String;fileINI:AnsiString):String;
var settings: TIniFile;
begin
     //Apro il file Ini
     settings := TIniFile.Create(fileINI);
     //Se il parametro indicato esiste ritorna il suo valore,
     //altrimenti ritorna una stringa vuota
     if settings.ValueExists(sezione,parametro) then
        GetValueIniFile:=settings.ReadString(sezione,parametro,'')
     else
        GetValueIniFile:='';
     //Libera la memoria assegnata all'istanza settings della classe TIniFile.
     settings.Free;
end;


  procedure TDataModule1.frReport1GetValue(const ParName: String;
    var ParValue: Variant);
  begin
     if ParName = 'titolo' then
    ParValue := filtro
  else if ParName = 'Var2' then
    ParValue := 2
  end;






procedure TDataModule1.DataModuleCreate(Sender: TObject);
var PathIniFile: AnsiString; {  flagDatiOk:Boolean;}
begin
     //importo la configurazione del db dal file ini
     PathIniFile := ProgramDirectory + 'settings.ini';
     ZConnection1.User:=GetValueIniFile('database','user',PathIniFile);
     ZConnection1.Password:=GetValueIniFile('database','password',PathIniFile);
     ZConnection1.HostName:=GetValueIniFile('database','hostname',PathIniFile);
     ZConnection1.Database:=GetValueIniFile('database','database',PathIniFile);
     ZConnection1.Protocol:=GetValueIniFile('database','protocollo',PathIniFile);
     //assegno i valori predefiniti alle variabili
     username:='';

end;

procedure TDataModule1.zqaffidrealAfterEdit(DataSet: TDataSet);
begin
  //lancio la procedura per abilitare il pulsante di salvataggio delle modifiche
  MainForm.modaffidamento;
end;

procedure TDataModule1.zqanagraficaAfterEdit(DataSet: TDataSet);
var i:integer;
begin
  //lancio la procedura per abilitare il pulsante di salvataggio delle modifiche
  MainForm.modanagrafica;
end;


procedure TDataModule1.zqanagraficaAfterScroll(DataSet: TDataSet);
begin
  //pulisco qualche campo
  MainForm.cbarearespnew.ClearSelection;
  //chiudo i dataset che vanno riaggiornati
  zqgrigliapreliminari.close;
  zqgrigliadefinitivo.close;
  zqgrigliaesecutivo.close;
  zqcomuniinteressati.close;
  zqpreliminare.close;
  zqautorizzazioni.close;
  zqsal.close;
  zqdefinitivo.close;
  zqesecutivo.close;
  zqaffidreal.close;
  zqlavori.close;
  zqmodana.Close;
  //valorizziamo la griglia dei progetti preliminari
  zqgrigliapreliminari.ParamByName('IDOPERA').Asinteger:=DataModule1.zqanagrafica.FieldByName('AN_OP_ID_OPERA').AsInteger;
  zqgrigliapreliminari.open;
  //valorizziamo la griglia dei comuni interessati
  zqcomuniinteressati.ParamByName('IDOPERA').Asinteger:=DataModule1.zqanagrafica.FieldByName('AN_OP_ID_OPERA').AsInteger;
  zqcomuniinteressati.open;
  //valorizziamo la griglia delle modifiche dell'anagrafica
  zqmodana.ParamByName('IDOPERA').Asinteger:=DataModule1.zqanagrafica.FieldByName('AN_OP_ID_OPERA').AsInteger;
  zqmodana.open;
end;

procedure TDataModule1.zqdefinitivoAfterEdit(DataSet: TDataSet);
begin
  //lancio la procedura per abilitare il pulsante di salvataggio delle modifiche
  MainForm.moddefinitivo;
end;

procedure TDataModule1.zqesecutivoAfterEdit(DataSet: TDataSet);
begin
  //lancio la procedura per abilitare il pulsante di salvataggio delle modifiche
  MainForm.modesecutivo;
end;




procedure TDataModule1.zqgrigliadefinitivoAfterScroll(DataSet: TDataSet);
begin
  zqgrigliaesecutivo.close;
  zqautorizzazioni.close;
  zqsal.close;
  zqdefinitivo.close;
  zqesecutivo.close;
  zqaffidreal.close;
  zqlavori.close;
  zqmoddef.Close;
  //valorizziamo il dataset con i dati del Definitivo scelto
  zqdefinitivo.ParamByName('IDPRELIMINARE').Asinteger:=DataModule1.zqgrigliadefinitivo.FieldByName('IDPRELIMINARE').AsInteger;
  zqdefinitivo.ParamByName('IDOPERA').Asinteger:=DataModule1.zqgrigliadefinitivo.FieldByName('AN_OP_ID_OPERA').AsInteger;
  zqdefinitivo.ParamByName('IDDEFINITIVO').Asinteger:=DataModule1.zqgrigliadefinitivo.FieldByName('IDDEFINITIVO').AsInteger;
  zqdefinitivo.open;
  //valorizziamo la grigia dei progetti definitivi relativi al preliminare scelto
  zqgrigliaesecutivo.ParamByName('IDPRELIMINARE').Asinteger:=DataModule1.zqgrigliadefinitivo.FieldByName('IDPRELIMINARE').AsInteger;
  zqgrigliaesecutivo.ParamByName('IDDEFINITIVO').Asinteger:=DataModule1.zqgrigliadefinitivo.FieldByName('IDDEFINITIVO').AsInteger;
  zqgrigliaesecutivo.ParamByName('IDOPERA').Asinteger:=DataModule1.zqgrigliadefinitivo.FieldByName('AN_OP_ID_OPERA').AsInteger;
  zqgrigliaesecutivo.open;
  //valorizziamo la grigia delle modifiche ai definitivi
  zqmoddef.ParamByName('IDPRELIMINARE').Asinteger:=DataModule1.zqgrigliadefinitivo.FieldByName('IDPRELIMINARE').AsInteger;
  zqmoddef.ParamByName('IDDEFINITIVO').Asinteger:=DataModule1.zqgrigliadefinitivo.FieldByName('IDDEFINITIVO').AsInteger;
  zqmoddef.ParamByName('IDOPERA').Asinteger:=DataModule1.zqgrigliadefinitivo.FieldByName('AN_OP_ID_OPERA').AsInteger;
  zqmoddef.open;
end;

procedure TDataModule1.zqgrigliaesecutivoAfterScroll(DataSet: TDataSet);
begin
  zqautorizzazioni.close;
  zqsal.close;
  zqesecutivo.close;
  zqaffidreal.close;
  zqlavori.close;
  zqmodese.Close;
  zqmodaff.Close;
  zqmodlav.Close;
  zqgare.Close;
  //valorizziamo il dataset con i dati del Esecutivo scelto
  zqesecutivo.ParamByName('IDPRELIMINARE').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDPRELIMINARE').AsInteger;
  zqesecutivo.ParamByName('IDOPERA').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('AN_OP_ID_OPERA').AsInteger;
  zqesecutivo.ParamByName('IDDEFINITIVO').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDDEFINITIVO').AsInteger;
  zqesecutivo.ParamByName('IDESECUTIVO').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDESECUTIVO').AsInteger;
  zqesecutivo.open;
  //valorizziamo il dataset Affidamento con i dati del Esecutivo scelto
  zqaffidreal.ParamByName('IDPRELIMINARE').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDPRELIMINARE').AsInteger;
  zqaffidreal.ParamByName('IDOPERA').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('AN_OP_ID_OPERA').AsInteger;
  zqaffidreal.ParamByName('IDDEFINITIVO').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDDEFINITIVO').AsInteger;
  zqaffidreal.ParamByName('IDESECUTIVO').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDESECUTIVO').AsInteger;
  zqaffidreal.open;
  //valorizziamo il dataset LAVORI con i dati del Esecutivo scelto
  zqlavori.ParamByName('IDPRELIMINARE').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDPRELIMINARE').AsInteger;
  zqlavori.ParamByName('IDOPERA').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('AN_OP_ID_OPERA').AsInteger;
  zqlavori.ParamByName('IDDEFINITIVO').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDDEFINITIVO').AsInteger;
  zqlavori.ParamByName('IDESECUTIVO').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDESECUTIVO').AsInteger;
  zqlavori.open;
  //valorizziamo il dataset TabAut con i dati del Esecutivo scelto
  zqautorizzazioni.ParamByName('IDPRELIMINARE').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDPRELIMINARE').AsInteger;
  zqautorizzazioni.ParamByName('IDOPERA').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('AN_OP_ID_OPERA').AsInteger;
  zqautorizzazioni.ParamByName('IDDEFINITIVO').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDDEFINITIVO').AsInteger;
  zqautorizzazioni.ParamByName('IDESECUTIVO').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDESECUTIVO').AsInteger;
  zqautorizzazioni.open;
  //valorizziamo il dataset TabSAL con i dati del Esecutivo scelto
  zqsal.ParamByName('IDPRELIMINARE').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDPRELIMINARE').AsInteger;
  zqsal.ParamByName('IDOPERA').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('AN_OP_ID_OPERA').AsInteger;
  zqsal.ParamByName('IDDEFINITIVO').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDDEFINITIVO').AsInteger;
  zqsal.ParamByName('IDESECUTIVO').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDESECUTIVO').AsInteger;
  zqsal.open;
  //valorizziamo la griglia delle modifiche all'esecutivo
  zqmodese.ParamByName('IDPRELIMINARE').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDPRELIMINARE').AsInteger;
  zqmodese.ParamByName('IDOPERA').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('AN_OP_ID_OPERA').AsInteger;
  zqmodese.ParamByName('IDDEFINITIVO').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDDEFINITIVO').AsInteger;
  zqmodese.ParamByName('IDESECUTIVO').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDESECUTIVO').AsInteger;
  zqmodese.open;
  //valorizziamo la griglia delle modifiche agli affidamenti
  zqmodaff.ParamByName('IDPRELIMINARE').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDPRELIMINARE').AsInteger;
  zqmodaff.ParamByName('IDOPERA').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('AN_OP_ID_OPERA').AsInteger;
  zqmodaff.ParamByName('IDDEFINITIVO').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDDEFINITIVO').AsInteger;
  zqmodaff.ParamByName('IDESECUTIVO').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDESECUTIVO').AsInteger;
  zqmodaff.open;
  //valorizziamo la griglia delle modifiche ai lavori
  zqmodlav.ParamByName('IDPRELIMINARE').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDPRELIMINARE').AsInteger;
  zqmodlav.ParamByName('IDOPERA').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('AN_OP_ID_OPERA').AsInteger;
  zqmodlav.ParamByName('IDDEFINITIVO').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDDEFINITIVO').AsInteger;
  zqmodlav.ParamByName('IDESECUTIVO').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDESECUTIVO').AsInteger;
  zqmodlav.open;
  //valorizziamo la griglia delle gare
  zqgare.ParamByName('IDPRELIMINARE').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDPRELIMINARE').AsInteger;
  zqgare.ParamByName('IDOPERA').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('AN_OP_ID_OPERA').AsInteger;
  zqgare.ParamByName('IDDEFINITIVO').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDDEFINITIVO').AsInteger;
  zqgare.ParamByName('IDESECUTIVO').Asinteger:=DataModule1.zqgrigliaesecutivo.FieldByName('IDESECUTIVO').AsInteger;
  zqgare.open;
  //controllo eventuali record bloccati
  //esecutivo
  if zqesecutivo.FieldByName('BLOC_VARIANTE').AsBoolean OR zqesecutivo.FieldByName('BLOCCATO').AsBoolean then
     begin
       zqesecutivo.ReadOnly:=true;
       MainForm.lbvariante.Caption:='Bloccato Variante';

     end
  else
      begin
        zqesecutivo.ReadOnly:=false;
         MainForm.lbvariante.Caption:=' ';
         zqesecutivo.Refresh;
      end;
  //affidamento
  if zqesecutivo.FieldByName('BLOC_VARIANTE').AsBoolean then
     begin
       zqaffidreal.ReadOnly:=true;
       MainForm.lbvariante1.Caption:='Bloccato Variante';
     end
  else
      begin
        zqaffidreal.ReadOnly:=false;
        MainForm.lbvariante1.Caption:=' ';
        zqaffidreal.Refresh;
      end;
  //lavori
  if zqesecutivo.FieldByName('BLOC_VARIANTE').AsBoolean then
     begin
       zqlavori.ReadOnly:=true;
       MainForm.lbvariante2.Caption:='Bloccato Variante';
     end
  else
      begin
        zqlavori.ReadOnly:=false;
        MainForm.lbvariante2.Caption:=' ';
        zqlavori.Refresh;
      end;
end;

procedure TDataModule1.zqgrigliapreliminariAfterScroll(DataSet: TDataSet);
begin
  zqgrigliadefinitivo.close;
  zqgrigliaesecutivo.close;
  zqpreliminare.close;
  zqautorizzazioni.close;
  zqsal.close;
  zqdefinitivo.close;
  zqesecutivo.close;
  zqaffidreal.close;
  zqlavori.close;
  zqmodpre.Close;
  //valorizziamo il dataset con i dati del preliminare scelto
  zqpreliminare.ParamByName('IDPRELIMINARE').Asinteger:=DataModule1.zqgrigliapreliminari.FieldByName('IDPRELIMINARE').AsInteger;
  zqpreliminare.ParamByName('IDOPERA').Asinteger:=DataModule1.zqgrigliapreliminari.FieldByName('AN_OP_ID_OPERA').AsInteger;
  zqpreliminare.open;
  //valorizziamo la grigia dei progetti definitivi relativi al preliminare scelto
  zqgrigliadefinitivo.ParamByName('IDPRELIMINARE').Asinteger:=DataModule1.zqgrigliapreliminari.FieldByName('IDPRELIMINARE').AsInteger;
  zqgrigliadefinitivo.ParamByName('IDOPERA').Asinteger:=DataModule1.zqgrigliapreliminari.FieldByName('AN_OP_ID_OPERA').AsInteger;
  zqgrigliadefinitivo.open;
  //valorizziamo la grigia delle modifiche del preliminare
  zqmodpre.ParamByName('IDPRELIMINARE').Asinteger:=DataModule1.zqgrigliapreliminari.FieldByName('IDPRELIMINARE').AsInteger;
  zqmodpre.ParamByName('IDOPERA').Asinteger:=DataModule1.zqgrigliapreliminari.FieldByName('AN_OP_ID_OPERA').AsInteger;
  zqmodpre.open;
end;

procedure TDataModule1.zqlavoriAfterEdit(DataSet: TDataSet);
begin
  //lancio la procedura per abilitare il pulsante di salvataggio delle modifiche
  MainForm.modlavori;
end;

procedure TDataModule1.zqpreliminareAfterEdit(DataSet: TDataSet);
begin
  //lancio la procedura per abilitare il pulsante di salvataggio delle modifiche
  MainForm.modpreliminare;
end;

















initialization
  {$I datamodule1_frm.lrs}

end.

